Calendar All Tests
Current file: /home/estudydev/workspace/eStudy_svn/web/ressourcen/classes/filemanager/class.folder.inc.php
Legend: executed not executed dead code

  Coverage
  Classes Methods Lines
Total
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 25
0.00 %0.00%
0.00% 0 / 551
 
Folder
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 25
0.00 %0.00%
0.00% 0 / 551
 public function __construct($fileID = 0)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 27
 public function setFolderState($folderState)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function setLayerType($layerType)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function setStudentWrite($studentWrite)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function setFolderType($folderType)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function getFolderState()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function setParentFolder($folder)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function getFileCounter()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function setFileCounter($fileCounter)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function getLinkCounter()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 1
 public function setLinkCounter($linkCounter)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function getFiles()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 13
 public function setFiles($files)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function getSubFolders()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function loadSubFolder()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 3
 public function isActiveFolder()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2
 public function getFolderCount($recursive = true)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 8
 private function isLastFolder($fileID = NULL)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 8
 public function printSubFolder($layer = '')
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 50
 public function drawFolder($layer = '', $showCount = true)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 46
 public function getUserIcons()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 181
 public function hasFilesInSubFolders()
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 7
 public function showFiles($statisticView = false)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 141
 private function getFolderHTMLOption($option)
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 42
 public function archiverAccept(ResourceVisitor $visitor, $parentPath = '/')
0.00 %0.00%
0.00% 0 / 1
0.00 %0.00%
0.00% 0 / 2


       1                 : <?php                                                                                                                   
       2                 : /*--------------------------------------------------------------------------+                                           
       3                 : This file is part of eStudy.                                                                                            
       4                 : ressourcen/classes/filemanager/class.folder.inc.php                                                                     
       5                 : - Modulgruppe:  File Manager                                                                                            
       6                 : - Beschreibung: Klasse "Folder"                                                                                         
       7                 : - Version:      0.4, 08.01.08                                                                                           
       8                 : - Autor(en):    Tobias Wild <tobias.wild@mni.fh-giessen.de>                                                             
       9                 : +---------------------------------------------------------------------------+                                           
      10                 : This program is free software; you can redistribute it and/or                                                           
      11                 : modify it under the terms of the GNU General Public License                                                             
      12                 : as published by the Free Software Foundation; either version 2                                                          
      13                 : of the License, or any later version.                                                                                   
      14                 : +---------------------------------------------------------------------------+                                           
      15                 : This program is distributed in the hope that it will be useful,                                                         
      16                 : but WITHOUT ANY WARRANTY; without even the implied warranty of                                                          
      17                 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                                           
      18                 : GNU General Public License for more details.                                                                            
      19                 : You should have received a copy of the GNU General Public License                                                       
      20                 : along with this program; if not, write to the Free Software                                                             
      21                 : Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                                             
      22                 : +--------------------------------------------------------------------------*/                                           
      23                 :                                                                                                                         
      24                 : if (!defined("PATH_TO_ROOT")) {                                                                                         
      25                 :     define("PATH_TO_ROOT", "../../../");                                                                                
      26                 : }                                                                                                                       
      27                 :                                                                                                                         
      28                 : require_once (PATH_TO_ROOT.                                                                                             
      29                 :     "ressourcen/classes/class.ressourcendb.inc.php");                                                                   
      30                 : require_once (PATH_TO_ROOT.                                                                                             
      31                 :     "ressourcen/classes/class.filemanger.inc.php");                                                                     
      32                 : require_once (PATH_TO_ROOT.                                                                                             
      33                 :     "ressourcen/classes/filemanager/class.resource.inc.php");                                                           
      34                 : require_once (PATH_TO_ROOT.                                                                                             
      35                 :     "ressourcen/classes/archiver/interface.resourcevisitor.inc.php");                                                   
      36                 : require_once (PATH_TO_ROOT.                                                                                             
      37                 :     "user/classes/class.usertools.inc.php");                                                                            
      38                 : //                                                                                                                      
      39                 : class Folder extends Resource {                                                                                         
      40                 :     /// Klassen-Attribute                                                                                               
      41                 :     private $parentFolder = null;                                                                                       
      42                 :     private $folders = array();                                                                                         
      43                 :                                                                                                                         
      44                 :     private $files;                                                                                                     
      45                 :                                                                                                                         
      46                 :     private static $iconTypes = array();                                                                                
      47                 :     private $layerType;                                                                                                 
      48                 :     private $folderType;                                                                                                
      49                 :     private $folderState;                                                                                               
      50                 :     private $studentWrite;                                                                                              
      51                 :     private $fileCounter = 0;                                                                                           
      52                 :     private $linkCounter = 0;                                                                                           
      53                 :                                                                                                                         
      54                 :     public function __construct($fileID = 0) {                                                                          
      55               0 :         $this->fileID = $fileID;                                                                                        
      56                 :                                                                                                                         
      57               0 :         global $visibleTxt, $visibleIcons;                                                                              
      58                 :                                                                                                                         
      59               0 :         $visibleTxt = array();                                                                                          
      60               0 :         $visibleIcons = array();                                                                                        
      61               0 :         $imgFolder = PATH_TO_ROOT.'ressourcen/icons/';                                                                  
      62               0 :         $visibleTxt[1] = " f&uuml;r alle sichtbar";                                                                     
      63               0 :         $visibleTxt[2] = " nur f&uuml;r Dozenten &amp; Tutoren sichtbar";                                               
      64               0 :         $visibleTxt[3] = " nur f&uuml;r Dozenten sichtbar";                                                             
      65                 :         //Icons für Sichtbarkeit von Ordnern/Links/Dateien                                                             
      66               0 :         $visibleIcons[1] = "<img src='".$imgFolder."edittypes/view_Student.gif' alt='visibilityAll Symbol' />";         
      67               0 :         $visibleIcons[2] = "<img src='".$imgFolder."edittypes/view_noStudent.gif' alt='visibilityNoStudents Symbol' />";
      68               0 :         $visibleIcons[3] = "<img src='".$imgFolder."edittypes/view_Dozent.gif' alt='visibilityDocentsOnly Symbol' />";  
      69                 :                                                                                                                         
      70                 :          // Foldersymbole und Struktursymbole fuer Verzeichnisbaum (CSS Klassen)                                        
      71               0 :         if (empty(self::$iconTypes)) self::$iconTypes =                                                                 
      72                 :                         array(                                                                                          
      73               0 :                         0 => 'ricon_rootFolder',                                                                        
      74               0 :                         1 => 'ricon_folderOpen',                                                                        
      75               0 :                         2 => 'ricon_folderClosed',                                                                      
      76               0 :                         3 => 'ricon_join',                                                                              
      77               0 :                         4 => 'ricon_joinBottom',                                                                        
      78               0 :                         5 => 'ricon_line',                                                                              
      79               0 :                         6 => 'ricon_minus',                                                                             
      80               0 :                         7 => 'ricon_minusBottom',                                                                       
      81               0 :                         8 => 'ricon_plus',                                                                              
      82               0 :                         9 => 'ricon_plusBottom',                                                                        
      83               0 :                         10 => 'ricon_empty',                                                                            
      84               0 :                         11 => 'ricon_foyerFolder',                                                                      
      85               0 :                         12 => 'ricon_mostpopular',                                                                      
      86                 :                         13 => 'ricon_mostrecent'                                                                        
      87               0 :                         );                                                                                              
      88                 :                                                                                                                         
      89               0 :     }                                                                                                                   
      90                 :                                                                                                                         
      91                 :     public function setFolderState($folderState) {                                                                      
      92               0 :         $this->folderState = $folderState;                                                                              
      93               0 :     }                                                                                                                   
      94                 :                                                                                                                         
      95                 :     public function setLayerType($layerType) {                                                                          
      96               0 :         $this->layerType = $layerType;                                                                                  
      97               0 :     }                                                                                                                   
      98                 :                                                                                                                         
      99                 :     public function setStudentWrite($studentWrite) {                                                                    
     100               0 :         $this->studentWrite = $studentWrite;                                                                            
     101               0 :     }                                                                                                                   
     102                 :                                                                                                                         
     103                 :     public function setFolderType($folderType) {                                                                        
     104               0 :         $this->folderType = $folderType;                                                                                
     105               0 :     }                                                                                                                   
     106                 :                                                                                                                         
     107                 :     public function getFolderState() {                                                                                  
     108               0 :         return $this->folderState;                                                                                      
     109                 :     }                                                                                                                   
     110                 :                                                                                                                         
     111                 :     public function setParentFolder($folder) {                                                                          
     112               0 :         $this->parentFolder = $folder;                                                                                  
     113               0 :     }                                                                                                                   
     114                 :                                                                                                                         
     115                 :     public function getFileCounter() {                                                                                  
     116               0 :         return $this->fileCounter;                                                                                      
     117                 :     }                                                                                                                   
     118                 :                                                                                                                         
     119                 :     public function setFileCounter($fileCounter) {                                                                      
     120               0 :         $this->fileCounter = $fileCounter;                                                                              
     121               0 :     }                                                                                                                   
     122                 :                                                                                                                         
     123                 :     public function getLinkCounter() {                                                                                  
     124               0 :         return $this->linkCounter;                                                                                      
     125                 :     }                                                                                                                   
     126                 :                                                                                                                         
     127                 :     public function setLinkCounter($linkCounter) {                                                                      
     128               0 :         $this->linkCounter = $linkCounter;                                                                              
     129               0 :     }                                                                                                                   
     130                 :     /**                                                                                                                 
     131                 :      * Getter for files of the folder.                                                                                  
     132                 :      * This method loads at the first access the file list of the folder                                                
     133                 :      * and returns them.                                                                                                
     134                 :      *                                                                                                                  
     135                 :      * @return File[] File array                                                                                        
     136                 :      */                                                                                                                 
     137                 :     public function getFiles() {                                                                                        
     138               0 :         if (is_null($this->files)) {                                                                                    
     139               0 :             global $resDB;                                                                                              
     140                 :                                                                                                                         
     141               0 :             $desc = (isset($_GET['direction']) && $_GET['direction'] == 'DESC');                                        
     142               0 :             $sqlSort = 'create_time';                                                                                   
     143                 :                                                                                                                         
     144                 :                                                                                                                         
     145               0 :             if ($this->fileID > 0) {                                                                                    
     146               0 :                 $this->files = $resDB->getFiles($this->fileID, $sqlSort, $desc);                                        
     147               0 :             } elseif ($this->fileID == "-1") {                                                                          
     148               0 :                 $this->files = $resDB->getMostRatedFiles();                                                             
     149               0 :             } elseif ($this->fileID == "-2") {                                                                          
     150               0 :                 $this->files = $resDB->getNewestFiles();                                                                
     151               0 :             }                                                                                                           
     152               0 :         }                                                                                                               
     153                 :                                                                                                                         
     154               0 :         return $this->files;                                                                                            
     155                 :     }                                                                                                                   
     156                 :                                                                                                                         
     157                 :     public function setFiles($files) {                                                                                  
     158               0 :         $this->files = $files;                                                                                          
     159               0 :     }                                                                                                                   
     160                 :                                                                                                                         
     161                 :     /**                                                                                                                 
     162                 :      * Getter for the subfolders.                                                                                       
     163                 :      *                                                                                                                  
     164                 :      * Fetchs the subfolders of this folder if not present                                                              
     165                 :      * and returns them.                                                                                                
     166                 :      *                                                                                                                  
     167                 :      * @return Folder[] Folder array                                                                                    
     168                 :      */                                                                                                                 
     169                 :     public function getSubFolders() {                                                                                   
     170               0 :         $this->loadSubFolder();                                                                                         
     171                 :                                                                                                                         
     172               0 :         return $this->folders;                                                                                          
     173                 :     }                                                                                                                   
     174                 :                                                                                                                         
     175                 :     public function loadSubFolder() {                                                                                   
     176               0 :         global $resDB;                                                                                                  
     177               0 :         if (empty($this->folders)) $this->folders = $resDB->getSubFolder($this);                                        
     178               0 :     }                                                                                                                   
     179                 :                                                                                                                         
     180                 :     public function isActiveFolder() {                                                                                  
     181               0 :         return (!is_null($this->fileManager) &&                                                                         
     182               0 :                 $this->fileManager->getActiveFolder() == $this->fileID);                                                
     183                 :     }                                                                                                                   
     184                 :                                                                                                                         
     185                 :     public function getFolderCount($recursive = true) {                                                                 
     186               0 :         $this->loadSubFolder();                                                                                         
     187               0 :         $count = count($this->folders);                                                                                 
     188               0 :         if ($recursive) {                                                                                               
     189               0 :             foreach ($this->folders as $folder) {                                                                       
     190               0 :                 $count += $folder->getFolderCount(true);                                                                
     191               0 :             }                                                                                                           
     192               0 :         }                                                                                                               
     193               0 :         return $count;                                                                                                  
     194                 :     }                                                                                                                   
     195                 :                                                                                                                         
     196                 :     private function isLastFolder($fileID = null) {                                                                     
     197               0 :         if (is_null($fileID)) {                                                                                         
     198               0 :             if (is_a($this->parentFolder, "Folder")) {                                                                  
     199               0 :                  return $this->parentFolder->isLastFolder($this->fileID);                                               
     200                 :             }                                                                                                           
     201               0 :         } else {                                                                                                        
     202               0 :             $lastFolder = end($this->folders);                                                                          
     203               0 :             if (is_a($lastFolder, "Folder")) {                                                                          
     204               0 :                 return ($lastFolder->getID() == $fileID);                                                               
     205                 :             }                                                                                                           
     206                 :         }                                                                                                               
     207               0 :         return false;                                                                                                   
     208                 :     }                                                                                                                   
     209                 :                                                                                                                         
     210                 :     public function printSubFolder($layer = '') {                                                                       
     211               0 :         global $db;                                                                                                     
     212               0 :         $this->loadSubFolder();                                                                                         
     213               0 :         $lineLayer = $layer."<img src='".PATH_TO_ROOT.                                                                  
     214               0 :             "images/transparent.gif' alt='lineLayer' class='".                                                          
     215               0 :             self::$iconTypes[5]."'/>";                                                                                  
     216               0 :         $emptyLayer = $layer."<img src='".PATH_TO_ROOT.                                                                 
     217               0 :             "images/transparent.gif' alt='emptyLayer' class='".                                                         
     218               0 :             self::$iconTypes[10]."'/>";                                                                                 
     219               0 :         $newLayer = $lineLayer;                                                                                         
     220               0 :         $lastFolder = $this->isLastFolder();                                                                            
     221               0 :         if ($lastFolder) {                                                                                              
     222               0 :             $newLayer = $emptyLayer;                                                                                    
     223               0 :             $plus = 9;                                                                                                  
     224               0 :             $minus = 7;                                                                                                 
     225               0 :             $join = 4;                                                                                                  
     226               0 :             $bottom = true;                                                                                             
     227               0 :         } else {                                                                                                        
     228               0 :             $plus = 8;                                                                                                  
     229               0 :             $minus = 6;                                                                                                 
     230               0 :             $join = 3;                                                                                                  
     231               0 :             $bottom = false;                                                                                            
     232                 :         }                                                                                                               
     233               0 :         if (is_null($this->parentFolder)) {                                                                             
     234               0 :             $newLayer = "";                                                                                             
     235               0 :         }                                                                                                               
     236               0 :         $gesamtReturn = "";                                                                                             
     237               0 :         $subReturn = "";                                                                                                
     238                 :                                                                                                                         
     239               0 :         foreach($this->folders as $key => $subFolder) {                                                                 
     240               0 :             $subReturn .= $subFolder->printSubFolder($newLayer);                                                        
     241               0 :         }                                                                                                               
     242                 :                                                                                                                         
     243               0 :         if (!is_null($this->parentFolder)) {                                                                            
     244               0 :             if ($this->fileManager->getAction() == 'foldOut' &&                                                         
     245               0 :                 $this->fileManager->getActionID() == $this->fileID) {                                                   
     246               0 :                    RessourcenDB::saveFolderState($this);                                                                
     247               0 :             }                                                                                                           
     248               0 :             if ($this->folderState) {                                                                                   
     249               0 :                 $this->layerType = $minus;                                                                              
     250               0 :                 if (!$subReturn) $this->layerType = $join;                                                              
     251               0 :             } else {                                                                                                    
     252               0 :                 $this->layerType = $plus;                                                                               
     253               0 :                 if (!$subReturn) $this->layerType = $join;                                                              
     254               0 :                 $subReturn = false;                                                                                     
     255                 :             }                                                                                                           
     256                 :             // Unterschiedliche Ordnersymbole fuer Foyerordner und Kursordner                                           
     257               0 :             $this->folderType = 1;                                                                                      
     258               0 :             if ($this->courseID == 0) $this->folderType = 11;                                                           
     259                 :             else if (                                                                                                   
     260               0 :                 $this->parentFolder->getID() == 0                                                                       
     261               0 :             )                                                                                                           
     262               0 :             $this->folderType = 0;                                                                                      
     263               0 :             $gesamtReturn.= $this->drawFolder($layer).$subReturn;                                                       
     264               0 :         } else {                                                                                                        
     265               0 :             $gesamtReturn = $subReturn;                                                                                 
     266                 :         }                                                                                                               
     267                 :                                                                                                                         
     268               0 :         return $gesamtReturn;                                                                                           
     269                 :     }                                                                                                                   
     270                 :                                                                                                                         
     271                 :     public function drawFolder($layer = '', $showCount = true) {                                                        
     272               0 :            $fileID = $this->fileID;                                                                                     
     273               0 :            $folderType = $this->folderType;                                                                             
     274               0 :            $layerType = $this->layerType;                                                                               
     275               0 :            $folderLink = Data::toHTML($this->link, false);                                                              
     276                 :            // Zaehlt die enthaltenen Elemente                                                                           
     277                 :                                                                                                                         
     278               0 :         global $resDB;                                                                                                  
     279               0 :         if ($showCount) {                                                                                               
     280               0 :             if ($this->folderState) {                                                                                   
     281               0 :                 $subCount = $resDB->countSubElements($fileID, false);                                                   
     282               0 :             } else {                                                                                                    
     283               0 :                 $subCount = $resDB->countSubElements($fileID, true);                                                    
     284                 :             }                                                                                                           
     285               0 :             $folderLink .= " (".$subCount.")";                                                                          
     286               0 :         }                                                                                                               
     287               0 :         $folderName = Data::toHTML($this->name, false);                                                                 
     288                 :         // Es wird ein geoeffneter Ordner angezeigt, wenn kein foyer, root oder mostratet Ordner                        
     289               0 :         if ($this->isActiveFolder() && $folderType != 0 && $folderType < 11) {                                          
     290               0 :             $folderType = 1;                                                                                            
     291               0 :         } elseif ($folderType != 0 && $folderType < 11) {                                                               
     292               0 :             $folderType = 2;                                                                                            
     293               0 :         }                                                                                                               
     294               0 :         $htmlLayer = $layer;                                                                                            
     295               0 :         $htmlLayerLinkBegin = "<a href='".self::createLink(                                                             
     296               0 :             1, array('action' => 'foldOut', 'actionID' => $fileID)                                                      
     297               0 :             ) ."'>";                                                                                                    
     298               0 :         $htmlLayerImage = "<img src='".PATH_TO_ROOT.                                                                    
     299               0 :             "images/transparent.gif' alt='layerImage' class='".                                                         
     300               0 :             self::$iconTypes[$layerType]."' />";                                                                        
     301               0 :         $htmlLayerLinkEnd = "</a>";                                                                                     
     302                 :         $htmlFolderLinkBegin = "<a class='folder' href='".                                                              
     303               0 :             self::createLink(                                                                                           
     304               0 :                 1, array('activeFolder' => $fileID, 'action' => '', 'actionID' => '', 'mode' => '')                     
     305               0 :             )                                                                                                           
     306               0 :             ."' title=\"".$folderName."\">";                                                                            
     307               0 :         $htmlFolderImage = "<img src='".PATH_TO_ROOT.                                                                   
     308                 :             "images/transparent.gif' alt='Verzeichnis-Symbol' class='"                                                  
     309               0 :             .self::$iconTypes[$folderType]."' />"                                                                       
     310               0 :             .$folderLink;                                                                                               
     311               0 :         $htmlFolderLinkEnd = "</a>";                                                                                    
     312                 :         // Wenn Aktiver Ordner HinterGrundFarbe aendern                                                                 
     313               0 :         $folderClass = ($this->isActiveFolder() ?                                                                       
     314               0 :         "res_folderselect" : "res_folder");                                                                             
     315                 :         // Wenn kein plus oder minus angezeigt                                                                          
     316                 :         //wird soll auch kein Link gesetzt werden                                                                       
     317               0 :       if ($layerType == 3 || $layerType == 4) {                                                                         
     318               0 :             $htmlLayerLinkBegin = "";                                                                                   
     319               0 :             $htmlLayerLinkEnd = "";                                                                                     
     320               0 :         }                                                                                                               
     321               0 :         $return = "<div class='".$folderClass." nobr'>".                                                                
     322               0 :             $htmlLayer.$htmlLayerLinkBegin.                                                                             
     323               0 :             $htmlLayerImage.$htmlLayerLinkEnd.                                                                          
     324               0 :             $htmlFolderLinkBegin.$htmlFolderImage.                                                                      
     325               0 :             $htmlFolderLinkEnd."</div>";                                                                                
     326               0 :         return $return;                                                                                                 
     327                 :     }                                                                                                                   
     328                 :                                                                                                                         
     329                 :     public function getUserIcons() {                                                                                    
     330                 :         $action = isset(                                                                                                
     331               0 :         $_GET['action']                                                                                                 
     332                 :         )                                                                                                               
     333               0 :          ? $_GET['action'] : '';                                                                                        
     334                 :         $actionID = isset(                                                                                              
     335               0 :         $_GET['actionID']                                                                                               
     336                 :         )                                                                                                               
     337               0 :         ? $_GET['actionID'] : '';                                                                                       
     338               0 :         $course = $_SESSION['course'];                                                                                  
     339               0 :         $activeFolder = isset($_GET['activeFolder']) ? $_GET['activeFolder'] : 0;                                       
     340               0 :         global $db, $visibleTxt, $visibleIcons, $settings;                                                              
     341               0 :         $imgFolder = $this->fileManager->getImgFolder();                                                                
     342               0 :         $folderUserID = $this->userID;                                                                                  
     343               0 :         $folderWrite = $this->studentWrite;                                                                             
     344                 :                                                                                                                         
     345                 :         // Definition der Bilder zum Bearbeiten des Ordners                                                             
     346               0 :         if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                        
     347               0 :             $editFolder = "<img title='Ordnereigenschaften editieren' src='".                                           
     348               0 :                 $imgFolder."edittypes/lock_edit.gif' alt='lock edit Symbol'/>";                                         
     349                 :         else $editFolder = "<img title='Ordnereigenschaften editieren' src='".                                          
     350               0 :             PATH_TO_ROOT."images/transparent.gif' ".                                                                    
     351               0 :             "class='icon_lock_edit' alt='lock edit Symbol'/>";                                                          
     352               0 :         if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                        
     353               0 :             $deleteFolder = "<img title='Ordner inklusive Dateien l&ouml;schen' src='".                                 
     354               0 :             $imgFolder."edittypes/lock_delete.gif' alt='lock delete Symbol' />";                                        
     355                 :         else $deleteFolder = "<img title='Ordner inklusive Dateien l&ouml;schen' src='".                                
     356               0 :             PATH_TO_ROOT."images/transparent.gif' class='icon_lock_delete' ".                                           
     357               0 :             "alt='lock delete Symbol' />";                                                                              
     358                 :                                                                                                                         
     359               0 :         if ($settings['filemanager_recursive']) {                                                                       
     360                 :                $recursiveDownloadFolder = "<img title='Ordner als recursives Archiv herunterladen ' src='".             
     361               0 :                $imgFolder."edittypes/lock_recursive_archive_download.gif' alt='lock recursive download Symbol' />";     
     362               0 :         } else {                                                                                                        
     363               0 :             $recursiveDownloadFolder = "";                                                                              
     364                 :         }                                                                                                               
     365                 :                                                                                                                         
     366                 :            $downloadFolder = "<img title='Ordner als Archiv herunterladen ' src='".                                     
     367               0 :                $imgFolder."edittypes/lock_archive_download.gif' alt='lock download Symbol' />";                         
     368                 :                                                                                                                         
     369               0 :            $folderVisible = "";                                                                                         
     370                 :                                                                                                                         
     371               0 :         if (($_SESSION['usergroup'] == ADMIN ||                                                                         
     372               0 :             ($_SESSION["usergroup"] == DOZENT &&                                                                        
     373               0 :             $_SESSION["course"] > 0) ||                                                                                 
     374               0 :             (isset($folderUserID) &&                                                                                    
     375               0 :             $_SESSION['userid'] == $folderUserID)) && $activeFolder > 0) {                                              
     376               0 :             if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                    
     377               0 :                 $editFolder = "<a title='Ordnereigenschaften ver&auml;ndern' href='./edit.php?editID=".                 
     378               0 :                 $activeFolder."'><img src='".$imgFolder."edittypes/edit.gif' alt='Bearbeiten' /></a>";                  
     379                 :             else $editFolder = "<a title='Ordnereigenschaften ver&auml;ndern' href='./edit.php?editID=".                
     380               0 :                 $activeFolder."'><img src='".PATH_TO_ROOT.                                                              
     381               0 :                 "images/transparent.gif' class='icon_edit_folder' alt='Bearbeiten' /></a>";                             
     382               0 :             if(isset($_SESSION["UserStyle"]) && $_SESSION["UserStyle"] != "fh_yaml")                                    
     383               0 :                 $deleteFolder = "<a title='Ordner l&ouml;schen' href='".                                                
     384               0 :                 $this->createLink(                                                                                      
     385               0 :                     1, array("action" => "deleteFolder", "actionID" => $activeFolder)                                   
     386               0 :                     )                                                                                                   
     387               0 :                     ."'><img src='".$imgFolder."edittypes/delete.gif'  alt='L&ouml;schen' /></a>";                      
     388                 :             else $deleteFolder = "<a title='Ordner l&ouml;schen' href='".                                               
     389               0 :                 $this->createLink(                                                                                      
     390               0 :                     1, array(                                                                                           
     391               0 :                     "action" => "deleteFolder",                                                                         
     392               0 :                     "actionID" => $activeFolder)                                                                        
     393               0 :                     )                                                                                                   
     394               0 :                     ."'><img src='".PATH_TO_ROOT.                                                                       
     395               0 :                     "images/transparent.gif' ".                                                                         
     396               0 :                     "class='icon_delete_folder'  ".                                                                     
     397               0 :                     "alt='L&ouml;schen' /></a>";                                                                        
     398                 :                                                                                                                         
     399                 :             //Sichtbarkeitsanzeige für aktuellen Ordner setzen                                                         
     400               0 :             $visibleIcon = "";                                                                                          
     401                 :             //beim Laden der Seite                                                                                      
     402               0 :             if (isset($this->visibleType) &&                                                                            
     403               0 :                 $this->visibleType >= 1 &&                                                                              
     404               0 :                 $this->visibleType <= 3) {                                                                              
     405               0 :                 $visibleIcon = $visibleIcons[$this->visibleType];                                                       
     406               0 :             }                                                                                                           
     407                 :             $folderVisible = "<a title='Sichtbarkeit dieses Ordners &auml;ndern' href='".                               
     408               0 :                 $this->createLink(                                                                                      
     409               0 :                 0,array(                                                                                                
     410               0 :                     'activeFolder' => $activeFolder,'action' => "setFolderVisibility","actionID" => $activeFolder       
     411               0 :                 )                                                                                                       
     412               0 :                 )                                                                                                       
     413               0 :                 ."'>".$visibleIcon."</a>";                                                                              
     414               0 :         }                                                                                                               
     415               0 :         if (($_SESSION['usergroup'] == ADMIN ||                                                                         
     416               0 :             ($_SESSION["usergroup"] == DOZENT &&                                                                        
     417               0 :             $_SESSION["course"] > 0)) &&                                                                                
     418               0 :             $activeFolder > 0) {                                                                                        
     419               0 :             if (($folderWrite &&                                                                                        
     420               0 :             !($action == "studentWriteFolder" &&                                                                        
     421               0 :             $actionID == $activeFolder)) ||                                                                             
     422               0 :             (!$folderWrite && $action == "studentWriteFolder"                                                           
     423               0 :                 && $actionID == $activeFolder)) {                                                                       
     424               0 :                 if(isset($_SESSION["UserStyle"]) &&                                                                     
     425               0 :                     $_SESSION["UserStyle"] != "fh_yaml")                                                                
     426               0 :                     $studentenWriteFolder= "<a title='Studenten Schreibrechte entziehen' href='".                       
     427               0 :                     $this->createLink(                                                                                  
     428               0 :                         1,                                                                                              
     429                 :                     array(                                                                                              
     430               0 :                         "action" => "studentWriteFolder",                                                               
     431                 :                         "actionID" => $activeFolder                                                                     
     432               0 :                         )                                                                                               
     433               0 :                         )                                                                                               
     434               0 :                         ."'><img src='".$imgFolder.                                                                     
     435               0 :                         "edittypes/student_write.gif' ".                                                                
     436               0 :                         "alt='Studenten Schreibrechte entziehen' /></a>";                                               
     437                 :                 else $studentenWriteFolder= "<a title='Studenten Schreibrechte entziehen' href='".                      
     438               0 :                     $this->createLink(                                                                                  
     439               0 :                         1,                                                                                              
     440                 :                     array(                                                                                              
     441               0 :                         "action" => "studentWriteFolder",                                                               
     442                 :                         "actionID" => $activeFolder                                                                     
     443               0 :                         )                                                                                               
     444               0 :                         )                                                                                               
     445               0 :                         ."'><img src='".PATH_TO_ROOT."images/transparent.gif' ".                                        
     446               0 :                         "class='icon_remove_student_write' ".                                                           
     447               0 :                         "alt='Studenten Schreibrechte entziehen' /></a>";                                               
     448               0 :             } else {                                                                                                    
     449               0 :                 if(isset($_SESSION["UserStyle"]) &&                                                                     
     450               0 :                     $_SESSION["UserStyle"] != "fh_yaml")                                                                
     451               0 :                     $studentenWriteFolder= "<a title='Studenten Schreibrechte geben' href='".                           
     452               0 :                         $this->createLink(                                                                              
     453               0 :                             1, array(                                                                                   
     454               0 :                                 "action" => "studentWriteFolder",                                                       
     455                 :                                 "actionID" => $activeFolder                                                             
     456               0 :                             )                                                                                           
     457               0 :                         )                                                                                               
     458               0 :                         ."'><img src='".$imgFolder.                                                                     
     459               0 :                         "edittypes/lock_student_write.gif' ".                                                           
     460               0 :                         "alt='Studenten Schreibrechte geben' /></a>";                                                   
     461                 :                 else $studentenWriteFolder= "<a title='Studenten Schreibrechte geben' href='".                          
     462               0 :                 $this->createLink(                                                                                      
     463               0 :                     1,                                                                                                  
     464                 :                     array(                                                                                              
     465               0 :                     "action" => "studentWriteFolder",                                                                   
     466                 :                     "actionID" => $activeFolder                                                                         
     467               0 :                         )                                                                                               
     468               0 :                         )                                                                                               
     469               0 :                         ."'><img src='".PATH_TO_ROOT.                                                                   
     470               0 :                         "images/transparent.gif' class='icon_give_student_write' ".                                     
     471               0 :                         "alt='Studenten Schreibrechte geben' /></a>";                                                   
     472                 :             }                                                                                                           
     473               0 :         } else {                                                                                                        
     474               0 :             if (isset($folderWrite) && $folderWrite) {                                                                  
     475               0 :                 if(isset($_SESSION["UserStyle"]) &&                                                                     
     476               0 :                     $_SESSION["UserStyle"] != "fh_yaml")                                                                
     477               0 :                     $studentenWriteFolder= "<img src='".                                                                
     478               0 :                     $imgFolder.                                                                                         
     479               0 :                     "edittypes/student_write.gif' ".                                                                    
     480               0 :                     "title='Studenten haben Schreibrechte' ".                                                           
     481               0 :                     "alt='Studenten haben Schreibrechte' />";                                                           
     482                 :                 else $studentenWriteFolder= "<img src='".                                                               
     483               0 :                     PATH_TO_ROOT."images/transparent.gif' ".                                                            
     484               0 :                     "class='icon_student_write' ".                                                                      
     485               0 :                     "title='Studenten haben Schreibrechte' ".                                                           
     486               0 :                     "alt='Studenten haben Schreibrechte' />";                                                           
     487               0 :             } else {                                                                                                    
     488               0 :                 if(isset($_SESSION["UserStyle"]) &&                                                                     
     489               0 :                     $_SESSION["UserStyle"] != "fh_yaml")                                                                
     490               0 :                     $studentenWriteFolder= "<img src='".$imgFolder.                                                     
     491               0 :                     "edittypes/lock_student_write.gif' ".                                                               
     492               0 :                     "title='Studenten haben keine Schreibrechte' ".                                                     
     493               0 :                     "alt='Studenten haben keine Schreibrechte' />";                                                     
     494                 :                 else $studentenWriteFolder= "<img src='".                                                               
     495               0 :                 PATH_TO_ROOT."images/transparent.gif' ".                                                                
     496               0 :                 "class='icon_lock_student_write' ".                                                                     
     497               0 :                 "title='Studenten haben keine Schreibrechte' ".                                                         
     498               0 :                 "alt='Studenten haben keine Schreibrechte' />";                                                         
     499                 :             }                                                                                                           
     500                 :         }                                                                                                               
     501                 :                                                                                                                         
     502               0 :         if (ZipProvider::checkArchiveSize($this, false) <=                                                              
     503               0 :             $settings['filemanager_archive_max_filesize']*1024*1024) {                                                  
     504                 :                                                                                                                         
     505               0 :             if (($this->fileCounter + $this->linkCounter) > 0) {                                                        
     506                 :                   $downloadFolder = "<a title='Ordner als Archiv herunterladen' href='".                                
     507               0 :                   $this->createLink(                                                                                    
     508               0 :                       1,                                                                                                
     509                 :                       array(                                                                                            
     510               0 :                           "action" => "downloadFolder",                                                                 
     511                 :                           "actionID" => $activeFolder                                                                   
     512               0 :                       )                                                                                                 
     513               0 :                       ) .    "'><img src='".$imgFolder.                                                                 
     514               0 :                       "edittypes/archive_download.gif' ".                                                               
     515               0 :                       "alt='Herunterladen' /></a>";                                                                     
     516               0 :             }                                                                                                           
     517               0 :         } else {                                                                                                        
     518                 :                    $downloadFolder = "<img title='Maximale Dateigröße überschritten' src='".                         
     519               0 :                    $imgFolder."edittypes/lock_archive_download.gif' ".                                                  
     520               0 :                    "alt='lock download Symbol' />";                                                                     
     521                 :         }                                                                                                               
     522                 :                                                                                                                         
     523               0 :         if ($settings['filemanager_recursive'] == true) {                                                               
     524                 :                                                                                                                         
     525               0 :             if (ZipProvider::checkArchiveSize($this, true) <=                                                           
     526               0 :                 $settings['filemanager_archive_max_filesize']*1024*1024) {                                              
     527               0 :                 if ((($this->fileCounter + $this->linkCounter) > 0) ||                                                  
     528               0 :                     $this->hasFilesInSubFolders()) {                                                                    
     529                 :                     $recursiveDownloadFolder = "<a title='Ordner als ".                                                 
     530               0 :                     "recursives Archiv herunterladen' href='".                                                          
     531               0 :                     $this->createLink(                                                                                  
     532               0 :                         1,                                                                                              
     533                 :                         array(                                                                                          
     534               0 :                             "action" => "recursiveDownloadFolder",                                                      
     535                 :                             "actionID" => $activeFolder                                                                 
     536               0 :                             )                                                                                           
     537               0 :                         )                                                                                               
     538               0 :                         ."'><img src='".$imgFolder.                                                                     
     539               0 :                         "edittypes/recursive_archive_download.gif' ".                                                   
     540               0 :                         "alt='Recursiv Herunterladen' /></a>";                                                          
     541               0 :                 }                                                                                                       
     542               0 :             } else {                                                                                                    
     543                 :                 $recursiveDownloadFolder = "<img ".                                                                     
     544               0 :                 "title='Maximale Dateigröße überschritten' src='".                                                   
     545               0 :                 $imgFolder."edittypes/lock_recursive_archive_download.gif' ".                                           
     546               0 :                 "alt='lock recursive download Symbol' />";                                                              
     547                 :             }                                                                                                           
     548               0 :         }                                                                                                               
     549               0 :         if ($activeFolder == 0) {                                                                                       
     550                 :             // Bestimmte Icons auslassen                                                                                
     551               0 :             $downloadFolder = "";                                                                                       
     552               0 :             $editFolder = "";                                                                                           
     553               0 :             $folderVisible = "";                                                                                        
     554               0 :             $deleteFolder = "";                                                                                         
     555               0 :         }                                                                                                               
     556                 :                                                                                                                         
     557                 :         return     $downloadFolder .                                                                                    
     558               0 :                 $recursiveDownloadFolder .                                                                              
     559               0 :                 $editFolder .                                                                                           
     560               0 :                 $folderVisible .                                                                                        
     561               0 :                 $studentenWriteFolder.                                                                                  
     562               0 :                 $deleteFolder;                                                                                          
     563                 :     }                                                                                                                   
     564                 :                                                                                                                         
     565                 :     /**                                                                                                                 
     566                 :      * Test which subfolders exists and containing files.                                                               
     567                 :      *                                                                                                                  
     568                 :      * @return Boolean Subfolders which are not empty                                                                   
     569                 :      */                                                                                                                 
     570                 :     public function hasFilesInSubFolders() {                                                                            
     571               0 :         $folders = $this->getSubFolders();                                                                              
     572                 :                                                                                                                         
     573               0 :         foreach ($folders as $folder) {                                                                                 
     574               0 :             if ((count($folder->getFiles()) > 0) ||                                                                     
     575               0 :                 $folder->hasFilesInSubFolders()) {                                                                      
     576               0 :                 return TRUE;                                                                                            
     577                 :             }                                                                                                           
     578               0 :         }                                                                                                               
     579               0 :     }                                                                                                                   
     580                 :                                                                                                                         
     581                 :         /**                                                                                                             
     582                 :      * Generiert die Filelist, und gibt sie aus                                                                         
     583                 :      *                                                                                                                  
     584                 :      * @access public                                                                                                   
     585                 :      */                                                                                                                 
     586                 :     public function showFiles($statisticView = false) {                                                                 
     587               0 :         global $db, $settings;                                                                                          
     588                 :         // INIT                                                                                                         
     589                 :                                                                                                                         
     590               0 :         $templateFileList = ($statisticView) ?                                                                          
     591               0 :             new Template(PATH_TO_ROOT .                                                                                 
     592               0 :             "/ressourcen/templates/filelist_statistic.html")                                                            
     593               0 :             : new Template(PATH_TO_ROOT .                                                                               
     594               0 :             "/ressourcen/templates/filelist.html");                                                                     
     595               0 :         global $visibleTxt;                                                                                             
     596               0 :         $time = time();                                                                                                 
     597               0 :         $action = isset($_GET['action']) ? $_GET['action'] : '';                                                        
     598               0 :         $actionID = isset($_GET['actionID']) ? $_GET['actionID'] : '';                                                  
     599               0 :         $course = $_SESSION['course'];                                                                                  
     600               0 :         $activeFolder = $_GET['activeFolder'];                                                                          
     601               0 :         $imgFolder = $this->fileManager->getImgFolder();                                                                
     602               0 :         $cellOne = $cell = 'tableCellDark';                                                                             
     603                 :         // AnfangsKlasse fuer Tabellenzeile, wechselt                                                                   
     604               0 :         $cellTwo = 'tableCell';                                                                                         
     605               0 :         $cols = 6; // Anzahl der Spalten fuer Colspan                                                                   
     606                 :         // SichtbarkeitsTexte                                                                                           
     607               0 :         $visible = "";                                                                                                  
     608                 :                                                                                                                         
     609                 :         // sql_add = this -> getVisibilityConstraintSQL()                                                               
     610               0 :         $topOrdner = Data::toHTML($this->link, false);                                                                  
     611               0 :         if ($activeFolder > 0) {                                                                                        
     612               0 :             $folderUserID = $this->userID;                                                                              
     613               0 :             $user = $db->get_row(                                                                                       
     614               0 :                 "SELECT Vorname, Nachname, gender FROM user WHERE ID='                                                  
     615               0 :                 $folderUserID'"                                                                                         
     616               0 :                 );                                                                                                      
     617               0 :             $folderVisible = $this->visibleType;                                                                        
     618               0 :             $folderCreate = Output::echoDate(                                                                           
     619               0 :                 "d.m.Y H:i",(int)$this->createTime                                                                      
     620               0 :                 );                                                                                                      
     621               0 :             $folderUser = "";                                                                                           
     622               0 :             if ($user != null) {                                                                                        
     623               0 :                 $courseID = $_SESSION["course"];                                                                        
     624               0 :                 $groupName = UserTools::getUserGroupName(                                                               
     625               0 :                     $folderUserID, $courseID                                                                            
     626               0 :                     );                                                                                                  
     627               0 :                 $userName = $user->Vorname." ".$user->Nachname . " ($groupName)";                                       
     628               0 :                 $folderUser = "<a href='".PATH_TO_ROOT.                                                                 
     629               0 :                        "user/homepage.php?user=$folderUserID'>".                                                        
     630               0 :                     Data::toHTML($userName, false) ."</a>";                                                             
     631                 :                 if (                                                                                                    
     632               0 :                     $role = RoleArtefacts::getRoleForItem(RESSOURCE, (int)$activeFolder)) {                             
     633                 :                     $folderUser.= " (".                                                                                 
     634               0 :                     $role->getPropertiesLink(                                                                           
     635               0 :                     $role->getName($user->gender)                                                                       
     636               0 :                     )                                                                                                   
     637               0 :                     .")";                                                                                               
     638               0 :                 }                                                                                                       
     639               0 :                 if ($team = TeamArtefacts::getTeamForItem(RESSOURCE, (int)$activeFolder)) {                             
     640               0 :                     $folderUser.= " (".Data::toHTML($team->getName(), false) .")";                                      
     641               0 :                 }                                                                                                       
     642               0 :             }                                                                                                           
     643               0 :             $folderWrite = $this->studentWrite;                                                                         
     644               0 :         }                                                                                                               
     645                 :                                                                                                                         
     646                 :         //Sortierreihenfolge                                                                                            
     647               0 :         if (isset($_GET['direction'])) {                                                                                
     648                 :             //Wird der Sortier Knopf gedrückt wird                                                                     
     649                 :             //geschaut ob DESC oder ASC                                                                                 
     650               0 :             $desc = ($_GET['direction'] == 'DESC');                                                                     
     651               0 :         }                                                                                                               
     652                 :         else{                                                                                                           
     653                 :             //Bei Klick auf Dateien/Links                                                                               
     654               0 :             $desc = true;                                                                                               
     655                 :         }                                                                                                               
     656                 :                                                                                                                         
     657               0 :         $sqlSort = 'create_time';                                                                                       
     658               0 :         if ($action == 'sort' && in_array($actionID, array("name", "size", "create_time", "userID", "counter"))) {      
     659               0 :             $sqlSort = $actionID;                                                                                       
     660               0 :         }                                                                                                               
     661               0 :         global $resDB;                                                                                                  
     662               0 :         if ($activeFolder > 0) {                                                                                        
     663               0 :             $this->files = $resDB->getFiles($activeFolder, $sqlSort, $desc);                                            
     664               0 :         } elseif ($activeFolder == "-1") {                                                                              
     665               0 :             $this->files = $resDB->getMostRatedFiles();                                                                 
     666               0 :         } elseif ($activeFolder == "-2") {                                                                              
     667               0 :             $this->files = $resDB->getNewestFiles();                                                                    
     668               0 :         }                                                                                                               
     669                 :                                                                                                                         
     670                 :         // Fuer OrdnerDownload werden Richtige Files gebraucht                                                          
     671               0 :         $linkCounter = $fileCounter = $sizeCounter = 0;                                                                 
     672               0 :         foreach($this->files as $file) {                                                                                
     673               0 :             if ($file->isFileVisible()) {                                                                               
     674               0 :                 if ($file->getType() == 'link') $linkCounter++;                                                         
     675               0 :                 elseif ($file->getType() == 'file') $fileCounter++;                                                     
     676               0 :                 $sizeCounter = $sizeCounter+$file->getSize();                                                           
     677               0 :             }                                                                                                           
     678               0 :         }                                                                                                               
     679               0 :         $sizeCounter = Format::FilesizeStr($sizeCounter);                                                               
     680               0 :         $this->fileCounter = $fileCounter;                                                                              
     681               0 :         $this->linkCounter = $linkCounter;                                                                              
     682                 :                                                                                                                         
     683               0 :         if (isset($this->visibleType) &&                                                                                
     684               0 :             $this->visibleType >= 1 &&                                                                                  
     685               0 :             $this->visibleType <= 3) {                                                                                  
     686               0 :             $visible = $visibleTxt[$this->visibleType];                                                                 
     687               0 :         }                                                                                                               
     688               0 :         $folderIcons = (!$statisticView) ? $this->getUserIcons() : "";                                                  
     689                 :                                                                                                                         
     690                 :         // Blaue Ueberschrift                                                                                           
     691               0 :         $folderInfo = ($fileCounter+$linkCounter) .                                                                     
     692               0 :         " Element".(($fileCounter+$linkCounter) != 1 ? "e" : "") .                                                      
     693               0 :         ", Ordner ".$visible;                                                                                           
     694                 :                                                                                                                         
     695               0 :         if ($activeFolder > 0 && strlen($folderUser) > 0) {                                                             
     696               0 :             $subHeader =  "<div><small>Erstellt von $folderUser ".                                                      
     697               0 :             "am $folderCreate - $linkCounter Link".($linkCounter == 1 ? "" : "s") .                                     
     698               0 :             ", $fileCounter Datei".($fileCounter == 1 ? "" : "en") .                                                    
     699               0 :             ", $sizeCounter total.</small><br/><br/></div>";                                                            
     700               0 :         } else {                                                                                                        
     701               0 :             $subHeader =  "<div><br/><br/></div>";                                                                      
     702                 :         }                                                                                                               
     703               0 :         if ($this->fileID == $this->fileManager->getActionID())                                                         
     704               0 :         $subHeader .= $this->getFolderHTMLOption($action);                                                              
     705                 :                                                                                                                         
     706               0 :         if ($action != "sort") $this->fileManager->runAction($activeFolder, $cols);                                     
     707                 :         //Abfrage: wenn Folder nicht für aktuellen User sichtbar, dann continue                                        
     708                 :         // Auswertungsmethode wird fuer OrdnerOptionen aufgerufen.                                                      
     709                 :                                                                                                                         
     710               0 :         $tableTitles = array("resource" =>  "Ressource",                                                                
     711               0 :                               "action"   =>  "Aktion",                                                                  
     712               0 :                               "size"     =>  "Gr&ouml;&szlig;e",                                                        
     713               0 :                               "created"  =>  "Erstellt",                                                                
     714               0 :                               "owner"    =>  "Besitzer",                                                                
     715               0 :                               "clicks"   =>  "Klicks");                                                                 
     716               0 :         if ($activeFolder < 0) {                                                                                        
     717                 :             // Gibt die TitelZeile mit den Spalten Ueberschriften aus Ohne Sortierung fuer die TOP20 oder Neuesten 20   
     718               0 :             $tableHead = $tableTitles;                                                                                  
     719               0 :         } else {                                                                                                        
     720               0 :             $newDirection = ($desc ? "ASC" : "DESC");                                                                   
     721                 :             // Gibt die TitelZeile mit den Spalten Ueberschriften aus mit SOrtiermoeglichkeit                           
     722               0 :             $tableHead["resource"] = "<a href='".$this->createLink(                                                     
     723               0 :                 1, array('action' => 'sort', 'actionID' => 'name', 'direction' => $newDirection)                        
     724               0 :                 )                                                                                                       
     725               0 :                 ."'>".$tableTitles["resource"]."</a>";                                                                  
     726               0 :             $tableHead["action"] = $tableTitles["action"];                                                              
     727               0 :             $tableHead["size"] = "<a href='".$this->createLink(                                                         
     728               0 :                 1, array('action' => "sort", 'actionID' => "size", 'direction' => $newDirection                         
     729               0 :                 )                                                                                                       
     730               0 :                 ) ."'>".$tableTitles["size"]."</a>";                                                                    
     731               0 :             $tableHead["created"] = "<a href='".$this->createLink(                                                      
     732               0 :                 1, array('action' => "sort", 'actionID' => "create_time", 'direction' => $newDirection                  
     733               0 :                 )                                                                                                       
     734               0 :                 ) ."'>".$tableTitles["created"]."</a>";                                                                 
     735               0 :             $tableHead["owner"] = "<a href='".$this->createLink(                                                        
     736               0 :                 1, array('action' => "sort", 'actionID' => "userID", 'direction' => $newDirection                       
     737               0 :                 )                                                                                                       
     738               0 :                 ) ."'>".$tableTitles["owner"]."</a>";                                                                   
     739               0 :             $tableHead["clicks"] = "<a href='".$this->createLink(                                                       
     740               0 :                 1, array('action' => "sort", 'actionID' => "counter", 'direction' => $newDirection                      
     741               0 :                 )                                                                                                       
     742               0 :                 ) ."'>".$tableTitles["clicks"]."</a>";                                                                  
     743                 :         }                                                                                                               
     744                 :                                                                                                                         
     745               0 :         $fileListEntriesHTML = "";                                                                                      
     746               0 :         if ($this->files) {                                                                                             
     747               0 :             $fileListInfo = "";                                                                                         
     748               0 :             foreach($this->files as $file) {                                                                            
     749                 :                 // ZellenKlasse wechselt bei jeder Zeile                                                                
     750               0 :                 $cell = ($cell == $cellOne ? $cellTwo : $cellOne);                                                      
     751               0 :                 $fileListEntriesHTML .= $file->getHTMLString($statisticView, $cell);                                    
     752               0 :                 if ($action != "sort") $this->fileManager->runAction(                                                   
     753               0 :                     $file->getID(), $cols                                                                               
     754               0 :                     );                                                                                                  
     755               0 :             }                                                                                                           
     756                 :                                                                                                                         
     757               0 :         } else {                                                                                                        
     758               0 :             $fileListInfo = "<div style='text-align: center'><br/><br/>Keine Dateien vorhanden.<br/><br/></div>";       
     759                 :         }                                                                                                               
     760               0 :         eval ($templateFileList->getTemplate());                                                                        
     761               0 :     }                                                                                                                   
     762                 :                                                                                                                         
     763                 :     private function getFolderHTMLOption($option) {                                                                     
     764               0 :         if ($option == "deleteFolder") {                                                                                
     765               0 :             $template = new Template(                                                                                   
     766                 :                 PATH_TO_ROOT                                                                                            
     767               0 :                 . "/ressourcen/templates/deletefolder.html"                                                             
     768               0 :                 );                                                                                                      
     769               0 :             $folderID = $this->fileManager->getActiveFolder();                                                          
     770               0 :             $html = "";                                                                                                 
     771               0 :             eval ($template->getTemplate("html"));                                                                      
     772               0 :             return $html;                                                                                               
     773                 :         }                                                                                                               
     774                 :                                                                                                                         
     775               0 :         if ($option == "setFolderVisibility") {                                                                         
     776                 :             return "<div class='res_file-extra'>"                                                                       
     777               0 :                     ."<a href='".$this->createLink(                                                                     
     778               0 :                         0,                                                                                              
     779                 :                         array(                                                                                          
     780               0 :                             'activeFolder' => $this->fileManager->getActiveFolder(),                                    
     781               0 :                             "action" => "setRessourceVisibility",                                                       
     782               0 :                             'actionID' => $this->fileManager->getActionID(),                                            
     783                 :                             'mode' => 1                                                                                 
     784               0 :                         )                                                                                               
     785               0 :                         )                                                                                               
     786               0 :                     ."'>Nur Ordner</a>&nbsp;&nbsp;&nbsp;"."<a href='".                                                  
     787               0 :                     $this->createLink(                                                                                  
     788               0 :                         0,                                                                                              
     789                 :                         array(                                                                                          
     790               0 :                             'activeFolder' => $this->fileManager->getActiveFolder(),                                    
     791               0 :                             "action" => "setRessourceVisibility",                                                       
     792               0 :                             'actionID' => $this->fileManager->getActionID(),                                            
     793                 :                             'mode' => 2                                                                                 
     794               0 :                         )                                                                                               
     795               0 :                         )                                                                                               
     796               0 :                         .""."'>Inhalt (rekursiv)</a>&nbsp;&nbsp;&nbsp;"."<a href='".                                    
     797               0 :                     $this->createLink(                                                                                  
     798               0 :                         0,                                                                                              
     799                 :                         array(                                                                                          
     800               0 :                             'activeFolder' => $this->fileManager->getActiveFolder(),                                    
     801               0 :                             "action" => "setRessourceVisibility",                                                       
     802               0 :                             'actionID' => $this->fileManager->getActionID(),                                            
     803                 :                             'mode' => 3                                                                                 
     804               0 :                         )                                                                                               
     805               0 :                         )                                                                                               
     806               0 :                         .""."'>Ordner und Inhalt (rekursiv)</a>&nbsp;&nbsp;&nbsp;".                                     
     807               0 :                             "<a href='".$this->createLink(                                                              
     808               0 :                             0,                                                                                          
     809                 :                             array(                                                                                      
     810               0 :                                 "activeFolder" => $this->fileManager->getActiveFolder())                                
     811               0 :                             )                                                                                           
     812               0 :                             ."'>Abbrechen</a>"."<span class='res_file-extra'>".                                         
     813               0 :                             Utilities::helpCode(701) ."</span>"."</div>";                                               
     814                 :         }                                                                                                               
     815                 :                                                                                                                         
     816               0 :         if ($option == "setRessourceVisibility") {                                                                      
     817               0 :             return $this->getRessourceVisibilityHTML();                                                                 
     818                 :         }                                                                                                               
     819               0 :     }                                                                                                                   
     820                 :                                                                                                                         
     821                 :     /**                                                                                                                 
     822                 :      * Archiver accept method for ArchiveVisitor                                                                        
     823                 :      *                                                                                                                  
     824                 :      * @param ArchiveVisitor $visitor Archive visitor                                                                   
     825                 :      * @param String $parentPath Parent path                                                                            
     826                 :      * @return Sting Parent path                                                                                        
     827                 :      */                                                                                                                 
     828                 :     public function archiverAccept(ResourceVisitor $visitor, $parentPath = "/") {                                       
     829               0 :         assert($visitor instanceof ResourceVisitor);                                                                    
     830                 :                                                                                                                         
     831               0 :         return $visitor->visit($this, $parentPath);                                                                     
     832                 :     }                                                                                                                   

Generated by PHPUnit 3.2.21 and Xdebug 2.0.3 at Thu Nov 26 17:01:15 CET 2009.